<?php

    Class EquiposDAO
    {
        private static function getInstance(&$rs)
        {
            $equipo = new Equipo();

            $equipo->idEquipo          = $rs->fields["idequipo"];
            $equipo->nombre            = $rs->fields["nombre"];
            $equipo->razonSocial       = $rs->fields["razonsocial"];
            $equipo->anoFundacion      = $rs->fields["anofundacion"];
            $equipo->presidente        = $rs->fields["presidente"];
            $equipo->partidosJugados   = $rs->fields["partidosjugados"];
            $equipo->partidosGanados   = $rs->fields["partidosganados"];
            $equipo->partidosEmpatados = $rs->fields["partidosempatados"];
            $equipo->puntos            = $rs->fields["puntos"];
            $equipo->idEstadio         = $rs->fields["idestadio"];

            return $equipo;
        }

        static function add(&$equipo)
        {
            $db = MyConnection::$db;

            $query = $db->Prepare("INSERT INTO equipos (nombre, razonsocial, presidente, anofundacion, idestadio) VALUES (?,?,?,?,?)");
            return $db->Execute($query, array($equipo->nombre, $equipo->razonSocial, $equipo->presidente, $equipo->anoFundacion, $equipo->idEstadio));
        }

        static function update(&$equipo)
        {
            $db = MyConnection::$db;

            $query = $db->Prepare("UPDATE equipos SET nombre=?, razonsocial=?, partidosjugados=?, partidosganados=?, partidosempatados=?, puntos=? WHERE idequipo = ?");
            return $db->Execute($query, array($equipo->nombre, $equipo->razonSocial, $equipo->partidosJugados, $equipo->partidosGanados, $equipo->partidosEmpatados, $equipo->puntos, $equipo->idEquipo));
        }

        static function getById($id)
        {
            $db = MyConnection::$db;

            $rs = $db->Execute("SELECT * FROM equipos WHERE idequipo = $id");

            if (!$rs->EOF)
            {
                return self::getInstance($rs);
            }
        }

        static function getAll()
        {
            $db = MyConnection::$db;

            $rs = $db->Execute("SELECT * FROM equipos ORDER BY puntos DESC");

            $all = array();
            while (!$rs->EOF)
            {
                $all[] = self::getInstance($rs);
                $rs->MoveNext();
            }

            return $all;
        }

        static function getByIdEstadio($idEstadio)
        {
            $db = MyConnection::$db;

            $rs = $db->Execute("SELECT * FROM equipos WHERE idestadio = $idEstadio");

            if (!$rs->EOF)
            {
                return self::getInstance($rs);
            }
            else
                return null;
        }
    }

?>